In [1]:
import os
import numpy as np
import pandas as pd 
import plotly
import plotly.express as px
In [ ]:
 
In [2]:
def temporal_profile(input_dir, grid, index_list):
    for i in index_list:
        input_csv =  input_dir + grid + "_" + i + "_full_TS.csv"
        df = pd.read_csv(input_csv, header=0, index_col=0, parse_dates=True)
        fig = px.line(df, x='Date', y='Value', title= i.upper() + ' Time Series (for plots in grid ' + grid + ")", 
                      color='FieldID', 
                      color_discrete_sequence=px.colors.qualitative.Dark2, # Bold, Vivid, Dark2, Pastel
                      line_dash='Parcela')
        fig.update_layout(xaxis_title='Date', yaxis_title='VI Value')
        fig.update_xaxes(rangeselector=dict(buttons=list([dict(count=6, label="6m", step="month", stepmode="backward"),
                                                          dict(count=1, label="1y", step="year", stepmode="backward"), 
                                                          dict(count=2, label="2y", step="year", stepmode="backward"), 
                                                          dict(step="all")]) ), 
                        rangeslider_visible=True)
        fig.show()
In [3]:
NI_grids = ['002225','002387','002388','002548','002549','002550']
ES_grids = ['001892','001972','002047','002056','002127']
indices = ['evi2', 'gcvi'] #['evi2', 'kndvi', 'gcvi', 'nbr']
input_dir="/home/downspout-cel/wsa_lc/TS/"
#####################################

for i in ES_grids:
    temporal_profile(input_dir="/home/downspout-cel/wsa_lc/TS/", grid=i, index_list=indices)
    practices_csv =  input_dir + "practices_NI_ES.csv"
    practices_df = pd.read_csv(practices_csv, dtype=str) 
    grid_practice_df = practices_df[practices_df['Grid'] == str(i)]
    practices = pd.pivot(grid_practice_df, index=['ID_Prod','Parcela', 'Nom.Cob'], columns=['Temporada','Ano'], values=['Cultivo'])
    display(practices)
Cultivo
Temporada Perenne Primera
Ano 2016 2017 2018 2016 2017 2018 2019
ID_Prod Parcela Nom.Cob
Part/SV-0Efp3f ASA NaN Pasto Pasto Pasto NaN NaN NaN NaN
Testigo NaN Pasto Pasto Pasto NaN NaN NaN NaN
Part/SV-RBeWMK ASA NaN Pasto Pasto Pasto NaN NaN NaN NaN
Testigo NaN Pasto Pasto Pasto NaN NaN NaN NaN
Part/SV-YihL4S ASA NaN Pasto Pasto Pasto NaN NaN NaN NaN
Testigo NaN Pasto Pasto Pasto NaN NaN NaN NaN
Part/SV-ZxmdrS ASA NaN Pasto Pasto Pasto NaN NaN NaN NaN
Testigo NaN Pasto Pasto Pasto NaN NaN NaN NaN
Part/SV-jrYwT3 ASA NaN NaN NaN NaN Maiz Maiz NaN NaN
Canavalia NaN NaN NaN NaN NaN Maiz Maiz
Testigo NaN NaN NaN NaN Maiz Maiz Maiz Maiz
Part/SV-oS60rF ASA NaN Pasto Pasto Pasto NaN NaN NaN NaN
Testigo NaN Pasto Pasto Pasto NaN NaN NaN NaN
Cultivo
Temporada Perenne
Ano 2016 2017 2018
ID_Prod Parcela Nom.Cob
Part/SV-7d01PS ASA NaN Pasto Pasto Pasto
Testigo NaN Pasto Pasto Pasto
Part/SV-qE9VaZ ASA NaN Pasto Pasto Pasto
Testigo NaN Pasto Pasto Pasto
Cultivo
Temporada Primera Perenne Postrera
Ano 2016 2017 2018 2019 2016 2017 2018 2019 2016 2017 2018 2019
ID_Prod Parcela Nom.Cob
Part/SV-Bbidgt ASA NaN Maiz Maiz Maiz Maiz NaN NaN NaN NaN NaN NaN NaN NaN
Testigo NaN Maiz Maiz Maiz Maiz NaN NaN NaN NaN NaN NaN NaN NaN
Part/SV-LAx5RV ASA NaN NaN NaN NaN NaN Cafe Cafe Cafe Cafe NaN NaN NaN NaN
Testigo NaN NaN NaN NaN NaN Cafe Cafe Cafe Cafe NaN NaN NaN NaN
Part/SV-MzPH4V ASA NaN NaN NaN NaN NaN NaN NaN NaN NaN Frijol Frijol Frijol Frijol
Testigo NaN NaN NaN NaN NaN NaN NaN NaN NaN Frijol Frijol Frijol Frijol
Part/SV-mZD9s4 ASA NaN Maiz Maiz Maiz Maiz NaN NaN NaN NaN NaN NaN NaN NaN
Testigo NaN Maiz Maiz Maiz Maiz NaN NaN NaN NaN NaN NaN NaN NaN
Cultivo
Temporada Primera Perenne
Ano 2016 2017 2018 2019 2016 2017 2018
ID_Prod Parcela Nom.Cob
Part/SV-KLPAjn ASA NaN Maiz NaN NaN NaN NaN NaN NaN
Canavalia NaN Maiz Maiz Maiz NaN NaN NaN
Testigo NaN Maiz Maiz Maiz Maiz NaN NaN NaN
Part/SV-V5Rucv ASA NaN NaN NaN NaN NaN Pasto Pasto Pasto
Testigo NaN NaN NaN NaN NaN Pasto Pasto Pasto
Cultivo
Temporada Postrera Primera
Ano 2016 2017 2018 2019 2016 2017 2018 2019
ID_Prod Parcela Nom.Cob
Part/SV-A4fryE ASA NaN Frijol Frijol Frijol Frijol NaN NaN NaN NaN
Testigo NaN Frijol Frijol Frijol Frijol NaN NaN NaN NaN
Part/SV-NX2KiG ASA NaN NaN NaN NaN NaN Maiz Maiz NaN NaN
Canavalia NaN NaN NaN NaN NaN NaN Maiz Maiz
Testigo NaN NaN NaN NaN NaN Maiz Maiz Maiz Maiz
Part/SV-ZncYrJ ASA NaN Frijol Frijol Frijol Frijol NaN NaN NaN NaN
Testigo NaN Frijol Frijol Frijol Frijol NaN NaN NaN NaN
Part/SV-dZbLci ASA NaN NaN NaN NaN NaN Maiz Maiz Maiz Maiz
Testigo NaN NaN NaN NaN NaN Maiz Maiz Maiz Maiz
Part/SV-iAfkxt ASA NaN Frijol Frijol Frijol Frijol NaN NaN NaN NaN
Testigo NaN Frijol Frijol Frijol Frijol NaN NaN NaN NaN
Part/SV-srgr52 ASA NaN NaN NaN NaN NaN Maiz Maiz Maiz NaN
Canavalia NaN NaN NaN NaN NaN NaN NaN Maiz
Testigo NaN NaN NaN NaN NaN Maiz Maiz Maiz Maiz
In [ ]:
 
In [10]:
!jupyter nbconvert --to html CRS_plot_TS.ipynb
[NbConvertApp] Converting notebook CRS_plot_TS.ipynb to html
[NbConvertApp] Writing 1112460 bytes to CRS_plot_TS.html
In [ ]:
 
In [ ]: